}
GtkCssValue *
-_gtk_css_shadows_value_parse (GtkCssParser *parser)
+_gtk_css_shadows_value_parse (GtkCssParser *parser,
+ gboolean box_shadow_mode)
{
GtkCssValue *value, *result;
GPtrArray *values;
values = g_ptr_array_new ();
do {
- value = _gtk_css_shadow_value_parse (parser);
+ value = _gtk_css_shadow_value_parse (parser, box_shadow_mode);
if (value == NULL)
{
G_BEGIN_DECLS
GtkCssValue * _gtk_css_shadows_value_new_none (void);
-GtkCssValue * _gtk_css_shadows_value_parse (GtkCssParser *parser);
+GtkCssValue * _gtk_css_shadows_value_parse (GtkCssParser *parser,
+ gboolean box_shadow_mode);
gboolean _gtk_css_shadows_value_is_none (const GtkCssValue *shadows);
}
GtkCssValue *
-_gtk_css_shadow_value_parse (GtkCssParser *parser)
+_gtk_css_shadow_value_parse (GtkCssParser *parser,
+ gboolean box_shadow_mode)
{
enum {
HOFFSET,
gboolean inset;
guint i;
- inset = _gtk_css_parser_try (parser, "inset", TRUE);
+ if (box_shadow_mode)
+ inset = _gtk_css_parser_try (parser, "inset", TRUE);
do
{
else
values[RADIUS] = _gtk_css_number_value_new (0.0, GTK_CSS_PX);
- if (_gtk_css_parser_has_number (parser))
+ if (box_shadow_mode && _gtk_css_parser_has_number (parser))
{
values[SPREAD] = _gtk_css_number_value_parse (parser,
GTK_CSS_PARSE_LENGTH
else
values[SPREAD] = _gtk_css_number_value_new (0.0, GTK_CSS_PX);
}
- else if (!inset && _gtk_css_parser_try (parser, "inset", TRUE))
+ else if (!inset && box_shadow_mode && _gtk_css_parser_try (parser, "inset", TRUE))
{
if (values[HOFFSET] == NULL)
goto fail;
GtkCssValue * _gtk_css_shadow_value_new_for_transition (GtkCssValue *target);
-GtkCssValue * _gtk_css_shadow_value_parse (GtkCssParser *parser);
+GtkCssValue * _gtk_css_shadow_value_parse (GtkCssParser *parser,
+ gboolean box_shadow_mode);
gboolean _gtk_css_shadow_value_get_inset (const GtkCssValue *shadow);
return result;
}
+static GtkCssValue *
+box_shadow_value_parse (GtkCssStyleProperty *property,
+ GtkCssParser *parser)
+{
+ return _gtk_css_shadows_value_parse (parser, TRUE);
+}
+
static GtkCssValue *
shadow_value_parse (GtkCssStyleProperty *property,
GtkCssParser *parser)
{
- return _gtk_css_shadows_value_parse (parser);
+ return _gtk_css_shadows_value_parse (parser, FALSE);
}
static GtkCssValue *
GTK_CSS_PROPERTY_BOX_SHADOW,
G_TYPE_NONE,
GTK_STYLE_PROPERTY_ANIMATED,
- shadow_value_parse,
+ box_shadow_value_parse,
NULL,
NULL,
_gtk_css_shadows_value_new_none ());